package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.RoleBean;
import com.project.bean.UserBean;
import org.apache.catalina.User;

import java.util.List;

public interface IUserService {
    /**
     * 登录
     * @param userName
     * @param password
     * @return
     */
    UserBean login(String userName,String password);
    /**
     * 动态条件分页查询
     * @param pageNO 页码
     * @param userName 用户名称
     * @return 分页对象 {用户信息：(用户编号，用户名，密码，真实姓名)}
     */
    IPage<UserBean> cutByItem(Integer pageNO, String userName);

    /**
     * 添加用户
     * @param userName 用户名
     * @param name 真实姓名
     * @param roleIdArray 角色ID数组
     * 处理：添加用户，同时添加该用户拥有的角色（中间表）
     */
    void add(String userName, String name, Integer[]roleIdArray);

    /**
     * 删除用户
     * @param userId 用户id
     * 处理：删除用户，同时删除用户拥有的角色记录
     */
    void del(Integer userId);

    /**
     * 查看用户角色
     * @param userId 用户id
     * 按id查询用户信息，且查询用户拥有的角色集合
     * @return 用户对象
     * 用户信息：用户ID，用户名，真实姓名，密码、角色集合
     * 角色信息：角色ID，角色名称
     */
    UserBean findByUserId(Integer userId);

    /**
     * 修改密码
     * @param userId  用户id
     * @param newPassword 新密码
     */
    void updatePassword(Integer userId,String newPassword);


}
